package com.jch.dm.chapter_4_factory_method.idcard;

import com.jch.dm.chapter_4_factory_method.framework.Factory;
import com.jch.dm.chapter_4_factory_method.framework.Product;

import java.util.ArrayList;
import java.util.List;

/**
 * @author: jch
 * 工厂模式 示例程序
 **/
public class IDCardFactory extends Factory {
    /**
     * 拥有者列表
     */
    private List owners = new ArrayList();

    /**
     * 注册产品
     *
     * @param p 产品
     */
    @Override
    protected void registerProduct(Product p) {
        owners.add(((IDCard) p).getOwner());
    }

    /**
     * 创建Product
     *
     * @param owner 所有者
     * @return 类
     */
    @Override
    protected Product createProduct(String owner) {
        return new IDCard(owner);
    }

    public List getOwners() {
        return owners;
    }
}
